home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / yacas_alg / yacas_morphos / share / yacas / include / mathcommands.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-03-13  |  18.5 KB  |  437 lines

  1.  
  2. #ifndef __mathcommands_h__
  3. #define __mathcommands_h__
  4.  
  5. #include "yacasbase.h"
  6. #include "lispenvironment.h"
  7. #include "lispevalhash.h"
  8. #include "lispobject.h"
  9. #include "lispglobals.h"
  10.  
  11.  
  12. //
  13. // Evaluation direction.
  14. //
  15. void LispQuote(LispEnvironment& aEnvironment, LispPtr& aResult,
  16.                         LispPtr& aArguments);
  17. void LispEval(LispEnvironment& aEnvironment,LispPtr& aResult,
  18.               LispPtr& aArguments);
  19.  
  20. //
  21. // Input/output functions
  22. //
  23. void LispWrite(LispEnvironment& aEnvironment, LispPtr& aResult,
  24.                   LispPtr& aArguments);
  25. void LispWriteString(LispEnvironment& aEnvironment, LispPtr& aResult,
  26.                   LispPtr& aArguments);
  27. void LispFullForm(LispEnvironment& aEnvironment, LispPtr& aResult,
  28.                   LispPtr& aArguments);
  29. void LispDefaultDirectory(LispEnvironment& aEnvironment, LispPtr& aResult,
  30.                           LispPtr& aArguments);
  31. void LispFromFile(LispEnvironment& aEnvironment, LispPtr& aResult,
  32.                   LispPtr& aArguments);
  33. void LispFromString(LispEnvironment& aEnvironment, LispPtr& aResult,
  34.                   LispPtr& aArguments);
  35.  
  36. void LispRead(LispEnvironment& aEnvironment, LispPtr& aResult,
  37.               LispPtr& aArguments);
  38. void LispReadToken(LispEnvironment& aEnvironment, LispPtr& aResult,
  39.                    LispPtr& aArguments);
  40. void LispToFile(LispEnvironment& aEnvironment, LispPtr& aResult,
  41.                   LispPtr& aArguments);
  42. void LispToString(LispEnvironment& aEnvironment, LispPtr& aResult,
  43.                   LispPtr& aArguments);
  44. void LispLoad(LispEnvironment& aEnvironment, LispPtr& aResult,
  45.                   LispPtr& aArguments);
  46.  
  47. //
  48. // Variable setting/clearing
  49. //
  50. void LispSetVar(LispEnvironment& aEnvironment, LispPtr& aResult,
  51.                 LispPtr& aArguments);
  52. void LispMacroSetVar(LispEnvironment& aEnvironment, LispPtr& aResult,
  53.                 LispPtr& aArguments);
  54. void LispClearVar(LispEnvironment& aEnvironment, LispPtr& aResult,
  55.                   LispPtr& aArguments);
  56. void LispMacroClearVar(LispEnvironment& aEnvironment,
  57.                   LispPtr& aResult,LispPtr& aArguments);
  58. void LispNewLocal(LispEnvironment& aEnvironment, LispPtr& aResult,
  59.                   LispPtr& aArguments);
  60. void LispMacroNewLocal(LispEnvironment& aEnvironment, LispPtr& aResult,
  61.                        LispPtr& aArguments);
  62.  
  63.  
  64. //
  65. // List and compound object manipulation
  66. //
  67. void LispHead(LispEnvironment& aEnvironment, LispPtr& aResult,
  68.               LispPtr& aArguments);
  69. void LispNth(LispEnvironment& aEnvironment, LispPtr& aResult,
  70.                   LispPtr& aArguments);
  71. void LispTail(LispEnvironment& aEnvironment, LispPtr& aResult,
  72.                   LispPtr& aArguments);
  73. void LispDestructiveReverse(LispEnvironment& aEnvironment, LispPtr& aResult,
  74.                             LispPtr& aArguments);
  75. void LispLength(LispEnvironment& aEnvironment, LispPtr& aResult,
  76.                 LispPtr& aArguments);
  77. void LispList(LispEnvironment& aEnvironment, LispPtr& aResult,
  78.               LispPtr& aArguments);
  79. void LispUnList(LispEnvironment& aEnvironment, LispPtr& aResult,
  80.                   LispPtr& aArguments);
  81. void LispListify(LispEnvironment& aEnvironment, LispPtr& aResult,
  82.                  LispPtr& aArguments);
  83. void LispConcatenate(LispEnvironment& aEnvironment, LispPtr& aResult,
  84.               LispPtr& aArguments);
  85. void LispConcatenateStrings(LispEnvironment& aEnvironment, LispPtr& aResult,
  86.               LispPtr& aArguments);
  87. void LispNoCacheConcatenateStrings(LispEnvironment& aEnvironment, LispPtr& aResult,
  88.               LispPtr& aArguments);
  89. void LispDelete(LispEnvironment& aEnvironment, LispPtr& aResult,
  90.                   LispPtr& aArguments);
  91. void LispInsert(LispEnvironment& aEnvironment, LispPtr& aResult,
  92.                   LispPtr& aArguments);
  93. void LispReplace(LispEnvironment& aEnvironment, LispPtr& aResult,
  94.                   LispPtr& aArguments);
  95. void LispAtomize(LispEnvironment& aEnvironment, LispPtr& aResult,
  96.                   LispPtr& aArguments);
  97. void LispStringify(LispEnvironment& aEnvironment, LispPtr& aResult,
  98.                    LispPtr& aArguments);
  99. void LispDestructiveDelete(LispEnvironment& aEnvironment, LispPtr& aResult,
  100.                   LispPtr& aArguments);
  101. void LispDestructiveInsert(LispEnvironment& aEnvironment, LispPtr& aResult,
  102.                   LispPtr& aArguments);
  103. void LispDestructiveReplace(LispEnvironment& aEnvironment, LispPtr& aResult,
  104.                   LispPtr& aArguments);
  105. void LispFlatCopy(LispEnvironment& aEnvironment, LispPtr& aResult,
  106.                   LispPtr& aArguments);
  107.  
  108. //
  109. // Program control flow
  110. //
  111. void LispProgBody(LispEnvironment& aEnvironment, LispPtr& aResult,
  112.                   LispPtr& aArguments);
  113. void LispWhile(LispEnvironment& aEnvironment, LispPtr& aResult,
  114.                   LispPtr& aArguments);
  115. void LispIf(LispEnvironment& aEnvironment, LispPtr& aResult,
  116.             LispPtr& aArguments);
  117. void LispCheck(LispEnvironment& aEnvironment,LispPtr& aResult,
  118.                LispPtr& aArguments);
  119.  
  120.  
  121. //
  122. // User function definition
  123. //
  124. void LispPreFix(LispEnvironment& aEnvironment, LispPtr& aResult,
  125.                   LispPtr& aArguments);
  126. void LispInFix(LispEnvironment& aEnvironment, LispPtr& aResult,
  127.                   LispPtr& aArguments);
  128. void LispPostFix(LispEnvironment& aEnvironment, LispPtr& aResult,
  129.                   LispPtr& aArguments);
  130. void LispBodied(LispEnvironment& aEnvironment, LispPtr& aResult,
  131.                   LispPtr& aArguments);
  132. void LispRuleBase(LispEnvironment& aEnvironment, LispPtr& aResult,
  133.                   LispPtr& aArguments);
  134. void LispMacroRuleBase(LispEnvironment& aEnvironment, LispPtr& aResult,
  135.                        LispPtr& aArguments);
  136. void LispHoldArg(LispEnvironment& aEnvironment, LispPtr& aResult,
  137.                   LispPtr& aArguments);
  138. void LispNewRule(LispEnvironment& aEnvironment, LispPtr& aResult,
  139.                   LispPtr& aArguments);
  140. void LispMacroNewRule(LispEnvironment& aEnvironment, LispPtr& aResult,
  141.                   LispPtr& aArguments);
  142. void LispUnFence(LispEnvironment& aEnvironment, LispPtr& aResult,
  143.                   LispPtr& aArguments);
  144. void LispRetract(LispEnvironment& aEnvironment, LispPtr& aResult,
  145.                  LispPtr& aArguments);
  146.  
  147. //
  148. // Predicates
  149. //
  150. void LispNot(LispEnvironment& aEnvironment, LispPtr& aResult,
  151.                   LispPtr& aArguments);
  152. void LispLazyAnd(LispEnvironment& aEnvironment, LispPtr& aResult,
  153.                   LispPtr& aArguments);
  154. void LispLazyOr(LispEnvironment& aEnvironment, LispPtr& aResult,
  155.                   LispPtr& aArguments);
  156. void LispEquals(LispEnvironment& aEnvironment, LispPtr& aResult,
  157.                   LispPtr& aArguments);
  158. void LispLessThan(LispEnvironment& aEnvironment, LispPtr& aResult,
  159.                   LispPtr& aArguments);
  160. void LispGreaterThan(LispEnvironment& aEnvironment, LispPtr& aResult,
  161.                   LispPtr& aArguments);
  162. void LispIsFunction(LispEnvironment& aEnvironment,LispPtr& aResult,
  163.               LispPtr& aArguments);
  164. void LispIsAtom(LispEnvironment& aEnvironment,LispPtr& aResult,
  165.               LispPtr& aArguments);
  166. void LispIsNumber(LispEnvironment& aEnvironment,LispPtr& aResult,
  167.               LispPtr& aArguments);
  168. void LispIsInteger(LispEnvironment& aEnvironment,LispPtr& aResult,
  169.               LispPtr& aArguments);
  170. void LispIsList(LispEnvironment& aEnvironment,LispPtr& aResult,
  171.               LispPtr& aArguments);
  172. void LispIsString(LispEnvironment& aEnvironment,LispPtr& aResult,
  173.               LispPtr& aArguments);
  174. void LispIsBound(LispEnvironment& aEnvironment,LispPtr& aResult,
  175.               LispPtr& aArguments);
  176.  
  177.  
  178. //
  179. // Math functions (REQUIRING number inputs).
  180. //
  181. void LispMultiply(LispEnvironment& aEnvironment, LispPtr& aResult,
  182.                   LispPtr& aArguments);
  183. void LispAdd(LispEnvironment& aEnvironment, LispPtr& aResult,
  184.              LispPtr& aArguments);
  185. void LispSubtract(LispEnvironment& aEnvironment, LispPtr& aResult,
  186.                   LispPtr& aArguments);
  187. void LispDivide(LispEnvironment& aEnvironment, LispPtr& aResult,
  188.                   LispPtr& aArguments);
  189. void LispSin(LispEnvironment& aEnvironment, LispPtr& aResult,
  190.                   LispPtr& aArguments);
  191. void LispCos(LispEnvironment& aEnvironment, LispPtr& aResult,
  192.                   LispPtr& aArguments);
  193. void LispTan(LispEnvironment& aEnvironment, LispPtr& aResult,
  194.                   LispPtr& aArguments);
  195. void LispArcSin(LispEnvironment& aEnvironment, LispPtr& aResult,
  196.                   LispPtr& aArguments);
  197. void LispArcCos(LispEnvironment& aEnvironment, LispPtr& aResult,
  198.                   LispPtr& aArguments);
  199. void LispArcTan(LispEnvironment& aEnvironment, LispPtr& aResult,
  200.                   LispPtr& aArguments);
  201. void LispPrecision(LispEnvironment& aEnvironment, LispPtr& aResult,
  202.                    LispPtr& aArguments);
  203. void LispSqrt(LispEnvironment& aEnvironment, LispPtr& aResult,
  204.                   LispPtr& aArguments);
  205. void LispFloor(LispEnvironment& aEnvironment, LispPtr& aResult,
  206.                   LispPtr& aArguments);
  207. void LispCeil(LispEnvironment& aEnvironment, LispPtr& aResult,
  208.                   LispPtr& aArguments);
  209. void LispAbs(LispEnvironment& aEnvironment, LispPtr& aResult,
  210.                   LispPtr& aArguments);
  211. void LispMod(LispEnvironment& aEnvironment, LispPtr& aResult,
  212.                   LispPtr& aArguments);
  213. void LispDiv(LispEnvironment& aEnvironment, LispPtr& aResult,
  214.                   LispPtr& aArguments);
  215. void LispLog(LispEnvironment& aEnvironment, LispPtr& aResult,
  216.                   LispPtr& aArguments);
  217. void LispExp(LispEnvironment& aEnvironment, LispPtr& aResult,
  218.                   LispPtr& aArguments);
  219. void LispPower(LispEnvironment& aEnvironment, LispPtr& aResult,
  220.                   LispPtr& aArguments);
  221. void LispPi(LispEnvironment& aEnvironment, LispPtr& aResult,
  222.             LispPtr& aArguments);
  223. void LispGcd(LispEnvironment& aEnvironment, LispPtr& aResult,
  224.              LispPtr& aArguments);
  225.  
  226. void LispSystemCall(LispEnvironment& aEnvironment,LispPtr& aResult,
  227.                LispPtr& aArguments);
  228.  
  229.  
  230. void LispFastSin(LispEnvironment& aEnvironment, LispPtr& aResult,
  231.                   LispPtr& aArguments);
  232. void LispFastCos(LispEnvironment& aEnvironment, LispPtr& aResult,
  233.                   LispPtr& aArguments);
  234. void LispFastTan(LispEnvironment& aEnvironment, LispPtr& aResult,
  235.                   LispPtr& aArguments);
  236. void LispFastArcSin(LispEnvironment& aEnvironment, LispPtr& aResult,
  237.                   LispPtr& aArguments);
  238. void LispFastArcCos(LispEnvironment& aEnvironment, LispPtr& aResult,
  239.                   LispPtr& aArguments);
  240. void LispFastArcTan(LispEnvironment& aEnvironment, LispPtr& aResult,
  241.                   LispPtr& aArguments);
  242. void LispFastExp(LispEnvironment& aEnvironment, LispPtr& aResult,
  243.                   LispPtr& aArguments);
  244. void LispFastLog(LispEnvironment& aEnvironment, LispPtr& aResult,
  245.                   LispPtr& aArguments);
  246. void LispFastPower(LispEnvironment& aEnvironment, LispPtr& aResult,
  247.                   LispPtr& aArguments);
  248.  
  249. void LispFastSqrt(LispEnvironment& aEnvironment, LispPtr& aResult,
  250.                   LispPtr& aArguments);
  251. void LispFastPi(LispEnvironment& aEnvironment, LispPtr& aResult,
  252.                   LispPtr& aArguments);
  253. void LispFastFloor(LispEnvironment& aEnvironment, LispPtr& aResult,
  254.                   LispPtr& aArguments);
  255. void LispFastCeil(LispEnvironment& aEnvironment, LispPtr& aResult,
  256.                   LispPtr& aArguments);
  257. void LispFastMod(LispEnvironment& aEnvironment, LispPtr& aResult,
  258.                   LispPtr& aArguments);
  259. void LispFastAbs(LispEnvironment& aEnvironment, LispPtr& aResult,
  260.                   LispPtr& aArguments);
  261.  
  262. void LispShiftLeft(LispEnvironment& aEnvironment, LispPtr& aResult,
  263.                   LispPtr& aArguments);
  264. void LispShiftRight(LispEnvironment& aEnvironment, LispPtr& aResult,
  265.                   LispPtr& aArguments);
  266. void LispFromBase(LispEnvironment& aEnvironment, LispPtr& aResult,
  267.                   LispPtr& aArguments);
  268. void LispToBase(LispEnvironment& aEnvironment, LispPtr& aResult,
  269.                   LispPtr& aArguments);
  270.  
  271.  
  272. void LispMaxEvalDepth(LispEnvironment& aEnvironment, LispPtr& aResult,
  273.                       LispPtr& aArguments);
  274.  
  275. void LispDefLoad(LispEnvironment& aEnvironment, LispPtr& aResult,
  276.                   LispPtr& aArguments);
  277.  
  278. void LispUse(LispEnvironment& aEnvironment, LispPtr& aResult,
  279.                   LispPtr& aArguments);
  280.  
  281. void LispRightAssociative(LispEnvironment& aEnvironment, LispPtr& aResult,
  282.                           LispPtr& aArguments);
  283. void LispLeftPrecedence(LispEnvironment& aEnvironment, LispPtr& aResult,
  284.                           LispPtr& aArguments);
  285. void LispRightPrecedence(LispEnvironment& aEnvironment, LispPtr& aResult,
  286.                           LispPtr& aArguments);
  287.  
  288.  
  289. void LispIsBodied(LispEnvironment& aEnvironment, LispPtr& aResult,
  290.                LispPtr& aArguments);
  291. void LispIsInFix(LispEnvironment& aEnvironment, LispPtr& aResult,
  292.                LispPtr& aArguments);
  293. void LispIsPreFix(LispEnvironment& aEnvironment, LispPtr& aResult,
  294.                   LispPtr& aArguments);
  295. void LispIsPostFix(LispEnvironment& aEnvironment, LispPtr& aResult,
  296.                    LispPtr& aArguments);
  297. void LispGetPrecedence(LispEnvironment& aEnvironment, LispPtr& aResult,
  298.                        LispPtr& aArguments);
  299. void LispGetLeftPrecedence(LispEnvironment& aEnvironment, LispPtr& aResult,
  300.                            LispPtr& aArguments);
  301. void LispGetRightPrecedence(LispEnvironment& aEnvironment, LispPtr& aResult,
  302.                             LispPtr& aArguments);
  303. void LispGetPrecision(LispEnvironment& aEnvironment, LispPtr& aResult,
  304.                       LispPtr& aArguments);
  305.  
  306.  
  307. void LispBitAnd(LispEnvironment& aEnvironment, LispPtr& aResult,
  308.                   LispPtr& aArguments);
  309. void LispBitOr(LispEnvironment& aEnvironment, LispPtr& aResult,
  310.                   LispPtr& aArguments);
  311. void LispBitXor(LispEnvironment& aEnvironment, LispPtr& aResult,
  312.                   LispPtr& aArguments);
  313.  
  314. void LispSecure(LispEnvironment& aEnvironment,LispPtr& aResult,
  315.               LispPtr& aArguments);
  316.  
  317.  
  318. void LispFindFile(LispEnvironment& aEnvironment,LispPtr& aResult,
  319.               LispPtr& aArguments);
  320. void LispFindFunction(LispEnvironment& aEnvironment,LispPtr& aResult,
  321.                       LispPtr& aArguments);
  322.  
  323. /* Generic objecs support */
  324. void LispIsGeneric(LispEnvironment& aEnvironment,LispPtr& aResult,
  325.                    LispPtr& aArguments);
  326. void LispGenericTypeName(LispEnvironment& aEnvironment,LispPtr& aResult,
  327.                          LispPtr& aArguments);
  328. void GenArrayCreate(LispEnvironment& aEnvironment,LispPtr& aResult,
  329.                     LispPtr& aArguments);
  330. void GenArraySize(LispEnvironment& aEnvironment,LispPtr& aResult,
  331.                   LispPtr& aArguments);
  332. void GenArrayGet(LispEnvironment& aEnvironment,LispPtr& aResult,
  333.                  LispPtr& aArguments);
  334. void GenArraySet(LispEnvironment& aEnvironment,LispPtr& aResult,
  335.                  LispPtr& aArguments);
  336.  
  337. void LispTrace(LispEnvironment& aEnvironment,LispPtr& aResult, LispPtr& aArguments);
  338. void LispTraceRule(LispEnvironment& aEnvironment,LispPtr& aResult, LispPtr& aArguments);
  339. void LispTraceStack(LispEnvironment& aEnvironment,LispPtr& aResult, LispPtr& aArguments);
  340.  
  341. void LispReadLisp(LispEnvironment& aEnvironment, LispPtr& aResult,
  342.                   LispPtr& aArguments);
  343.  
  344. void LispType(LispEnvironment& aEnvironment,LispPtr& aResult,
  345.               LispPtr& aArguments);
  346.  
  347. void LispStringMid(LispEnvironment& aEnvironment,LispPtr& aResult, LispPtr& aArguments);
  348. void LispSetStringMid(LispEnvironment& aEnvironment,LispPtr& aResult, LispPtr& aArguments);
  349.  
  350.  
  351. /* Pattern matching */
  352. void GenPatternCreate(LispEnvironment& aEnvironment,LispPtr& aResult,
  353.                       LispPtr& aArguments);
  354. void GenPatternMatches(LispEnvironment& aEnvironment,LispPtr& aResult,
  355.                        LispPtr& aArguments);
  356.  
  357. void LispRuleBaseDefined(LispEnvironment& aEnvironment,LispPtr& aResult,
  358.                          LispPtr& aArguments);
  359. void LispRuleBaseArgList(LispEnvironment& aEnvironment,LispPtr& aResult,
  360.                          LispPtr& aArguments);
  361.  
  362.  
  363. void LispNewRulePattern(LispEnvironment& aEnvironment, LispPtr& aResult,
  364.                         LispPtr& aArguments);
  365. void LispMacroNewRulePattern(LispEnvironment& aEnvironment, LispPtr& aResult,
  366.                   LispPtr& aArguments);
  367.  
  368.  
  369. void LispSubst(LispEnvironment& aEnvironment, LispPtr& aResult,
  370.                LispPtr& aArguments);
  371. void LispLocalSymbols(LispEnvironment& aEnvironment, LispPtr& aResult,
  372.                       LispPtr& aArguments);
  373.  
  374.  
  375. void LispFac(LispEnvironment& aEnvironment, LispPtr& aResult,
  376.                   LispPtr& aArguments);
  377.  
  378. void LispApplyPure(LispEnvironment& aEnvironment, LispPtr& aResult,
  379.                    LispPtr& aArguments);
  380.  
  381. void LispPrettyPrinter(LispEnvironment& aEnvironment, LispPtr& aResult,
  382.                        LispPtr& aArguments);
  383.  
  384.  
  385. void LispGarbageCollect(LispEnvironment& aEnvironment, LispPtr& aResult,
  386.                         LispPtr& aArguments);
  387.  
  388. void LispLazyGlobal(LispEnvironment& aEnvironment, LispPtr& aResult,
  389.                     LispPtr& aArguments);
  390.  
  391. void LispPatchLoad(LispEnvironment& aEnvironment, LispPtr& aResult,
  392.                    LispPtr& aArguments);
  393. void LispPatchString(LispEnvironment& aEnvironment, LispPtr& aResult,
  394.                      LispPtr& aArguments);
  395.  
  396. void LispDllLoad(LispEnvironment& aEnvironment, LispPtr& aResult,
  397.                  LispPtr& aArguments);
  398. void LispDllUnload(LispEnvironment& aEnvironment, LispPtr& aResult,
  399.                    LispPtr& aArguments);
  400. void LispDllEnumerate(LispEnvironment& aEnvironment, LispPtr& aResult,
  401.                       LispPtr& aArguments);
  402.  
  403. void LispSetExtraInfo(LispEnvironment& aEnvironment, LispPtr& aResult,
  404.                    LispPtr& aArguments);
  405. void LispGetExtraInfo(LispEnvironment& aEnvironment, LispPtr& aResult,
  406.                    LispPtr& aArguments);
  407.  
  408.  
  409. void LispBerlekamp(LispEnvironment& aEnvironment, LispPtr& aResult,
  410.                    LispPtr& aArguments);
  411.  
  412. void LispDefaultTokenizer(LispEnvironment& aEnvironment, LispPtr& aResult,
  413.                    LispPtr& aArguments);
  414. void LispCTokenizer(LispEnvironment& aEnvironment, LispPtr& aResult,
  415.                    LispPtr& aArguments);
  416. void LispXmlTokenizer(LispEnvironment& aEnvironment, LispPtr& aResult,
  417.                       LispPtr& aArguments);
  418.  
  419. void LispExplodeTag(LispEnvironment& aEnvironment, LispPtr& aResult,
  420.                     LispPtr& aArguments);
  421.  
  422. void LispFastAssoc(LispEnvironment& aEnvironment, LispPtr& aResult,
  423.                    LispPtr& aArguments);
  424.  
  425. void LispCurrentFile(LispEnvironment& aEnvironment, LispPtr& aResult,
  426.                      LispPtr& aArguments);
  427. void LispCurrentLine(LispEnvironment& aEnvironment, LispPtr& aResult,
  428.                      LispPtr& aArguments);
  429.  
  430. void LispBackQuote(LispEnvironment& aEnvironment, LispPtr& aResult,
  431.                      LispPtr& aArguments);
  432.  
  433. #endif
  434.  
  435.  
  436.  
  437.